package top.yxqz.number3.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import top.yxqz.number3.entity.Emp;
import top.yxqz.number3.service.EmpService;

import java.util.List;

/**
 * @author: 余小小
 * @date: 2023/9/21
 * @description： MVC三层 架构顺序：
 * 调用的顺序：控制层--服务层--数据层（反写）
 * 执行的顺序：数据层--服务层--控制层（正写）
 */

@RestController
public class EmpController {


    /**
     * @Autowired 自动注入
     * 面相接口编程：注入 接口类型 spring自动将该接口的实现类进行注入（多态）
     */
    @Autowired
    private EmpService service;

    /**
     * 查询所有员工数据（集合接收）
     * 没有条件---没有参数
     * 关系：多对一、一对多、一对一、多对多
     * 对一对应对象---接收数据的类型
     * 对多对应集合---接收数据的类型---List集合
     * 常用的集合类型：list（无序可重复） set（不可重复）
     * 实现方式：控制层--服务层--数据层（反写）---IDE可以自动生成部分代码
     */
    @GetMapping("/emps")
    public List<Emp> getAllEmps() {
//        getAllEmps 接口目前是自己写的 而不是工具中的
        List<Emp> emps = service.getAllEmps();
//        将数据返回给前端
        return emps;
    }

}
